---
description: Espressif ESP32-C3-RUST-DevKit
---
# Espressif ESP32-C3-RUST-DevKit


A ESP32-C3 dev-board from Espressif with IMU and Temp/Humidity sensor, originally for ESP32 Rust port.


![Espressif ESP32-C3-RUST-DevKit picture](https://microsoft.github.io/jacdac-docs/images/devices/espressif/esp32c3rustdevkitv12a.catalog.jpg)

## Features

-  I2C on 10/8 using Header connector
-  WS2812B RGB LED on pin 2  (use [setStatusLight](/developer/status-light) to control)
-  Serial logging on pin P21 at 115200 8N1

{@import optional ./esp32c3-rust-devkit-features.mdp}

-  Service: buttonBOOT (button)

{@import optional ./esp32c3-rust-devkit-services.mdp}


## Stores

-  [https://github.com/esp-rs/esp-rust-board](https://github.com/esp-rs/esp-rust-board)

## Pins

| pin name | hardware id | features |
|:---------|:------------|---------:|
| **LED** |  GPIO7 |  debug,  io |
| **P0** |  GPIO0 |  analogIn,  io |
| **P1** |  GPIO1 |  analogIn,  io |
| **P20** |  GPIO20 |  bootUart,  io |
| **P21** |  GPIO21 |  log.pinTX,  bootUart,  io |
| **P3** |  GPIO3 |  analogIn,  io |
| **P4** |  GPIO4 |  analogIn,  debug,  io |
| **P5** |  GPIO5 |  debug,  io |
| **P6** |  GPIO6 |  debug,  io |
| **P9** |  GPIO9 |  $services.buttonBOOT[0].pin,  boot,  io |
| **i2c.pinSCL** |  GPIO8 |  i2c.pinSCL,  boot,  io |
| **i2c.pinSDA** |  GPIO10 |  i2c.pinSDA,  io |
| **led.pin** |  GPIO2 |  led.pin,  analogIn,  boot,  io |



## DeviceScript import


You must add this import statement to load 
the pinout configuration for this device.

In [Visual Studio Code](/getting-started/vscode),
click the **wand** icon on the file menu and 
select "Espressif ESP32-C3-RUST-DevKit".

```ts
import { pins, board } from "@dsboard/esp32c3_rust_devkit"
```

{@import optional ./esp32c3-rust-devkit-examples.mdp}

## Firmware update

In Visual Studio Code,
select **DeviceScript: Flash Firmware...** from the command palette.
        
Run this [command line](/api/cli) command and follow the instructions.

```bash
devicescript flash --board esp32c3_rust_devkit
```


- [Firmware](https://github.com/microsoft/devicescript-esp32/releases/latest/download/devicescript-esp32c3-esp32c3_rust_devkit-0x0.bin)

## Configuration

```json title="esp32c3_rust_devkit.json"
{
    "$schema": "https://raw.githubusercontent.com/microsoft/devicescript-esp32/main/boards/esp32deviceconfig.schema.json",
    "id": "esp32c3_rust_devkit",
    "devName": "Espressif ESP32-C3-RUST-DevKit",
    "productId": "0x33f29c59",
    "$description": "A ESP32-C3 dev-board from Espressif with IMU and Temp/Humidity sensor, originally for ESP32 Rust port.",
    "archId": "esp32c3",
    "url": "https://github.com/esp-rs/esp-rust-board",
    "$services": [
        {
            "name": "buttonBOOT",
            "pin": "P9",
            "service": "button"
        }
    ],
    "i2c": {
        "$connector": "Header",
        "pinSCL": 8,
        "pinSDA": 10
    },
    "led": {
        "pin": 2,
        "type": 1
    },
    "log": {
        "pinTX": "P21"
    },
    "pins": {
        "LED": 7,
        "P0": 0,
        "P1": 1,
        "P20": 20,
        "P21": 21,
        "P3": 3,
        "P4": 4,
        "P5": 5,
        "P6": 6,
        "P9": 9
    }
}
```
